The image heter011.gif shows multithreaded agent architecture. Two user sessions on the Oracle server (which includes Heterogeneous Services) issue requests to two dispatcher threads, which are part of the agent process. The agent process consists of dispatcher threads and task threads. Each dispatcher thread relays the requests by means of a task thread to the non-Oracle system. Individual requests are relayed by the dispatcher in one of two ways:

- A single request from a user session is relayed to the non-Oracle system over a single task thread set up by a single dispatcher.

- Requests from different user sessions are relayed to the non-Oracle system by a task thread that is shared between the two dispatchers.

End of image description.